package com.gtgj.widget.util;

import ohos.app.Context;
import ohos.data.DatabaseHelper;
import ohos.data.preferences.Preferences;
import ohos.utils.zson.ZSONObject;

public class DataUtils {
    /**
     * formName
     */
    private static final String FORM_NAME = "formName";
    /**
     * dimension
     */
    private static final String DIMENSION = "dimension";
    /**
     * database name
     */
    private static final String SHARED_SP_NAME = "form_info_sp.xml";
    public static void saveDate(Context context, String key, int value){
        DatabaseHelper databaseHelper = new DatabaseHelper(context); // context入参类型为ohos.app.Context。
        String fileName = "date_pref"; // fileName表示文件名，其取值不能为空，也不能包含路径，默认存储目录可以通过context.getPreferencesDir()获取。
        Preferences preferences = databaseHelper.getPreferences(fileName);
        preferences.putInt(key, value);
        preferences.flush();
    }

    public static int readDate(Context context, String key) {
        DatabaseHelper databaseHelper = new DatabaseHelper(context); // context入参类型为ohos.app.Context。
        String fileName = "date_pref"; // fileName表示文件名，其取值不能为空，也不能包含路径，默认存储目录可以通过context.getPreferencesDir()获取。
        Preferences preferences = databaseHelper.getPreferences(fileName);
        return preferences.getInt(key, -1);
    }

    public static void insertForm(Context context, long formId, String formName, int dimension) {
        ZSONObject formObj = new ZSONObject();
        formObj.put(FORM_NAME, formName);
        formObj.put(DIMENSION, dimension);
        DatabaseHelper databaseHelper = new DatabaseHelper(context);
        Preferences preferences = databaseHelper.getPreferences(SHARED_SP_NAME);
        preferences.putString(Long.toString(formId), ZSONObject.toZSONString(formObj));
        preferences.flush();
    }

    public static void deleteForm(Context context, long formId) {
        DatabaseHelper databaseHelper = new DatabaseHelper(context);
        Preferences preferences = databaseHelper.getPreferences(SHARED_SP_NAME);
        preferences.delete(Long.toString(formId));
    }

    public static void saveTrip(Context context, String content) {
        saveString(context, "trip", content);
    }

    public static String getTrip(Context context) {
        return getString(context, "trip");
    }

    public static void saveId(Context context, String content){
        saveString(context, "id", content);
    }

    public static String getId(Context context) {
        return getString(context, "id");
    }

    public static String getPhone(Context context) {
        return getString(context, "phone");
    }

    public static void savePhone(Context context, String content) {
        saveString(context, "phone", content);
    }

    public static void saveString(Context context, String key, String content) {
        DatabaseHelper databaseHelper = new DatabaseHelper(context); // context入参类型为ohos.app.Context。
        String fileName = "date_pref"; // fileName表示文件名，其取值不能为空，也不能包含路径，默认存储目录可以通过context.getPreferencesDir()获取。
        Preferences preferences = databaseHelper.getPreferences(fileName);
        preferences.putString(key, content);
        preferences.flush();
    }

    public static String getString(Context context, String key) {
        DatabaseHelper databaseHelper = new DatabaseHelper(context); // context入参类型为ohos.app.Context。
        String fileName = "date_pref"; // fileName表示文件名，其取值不能为空，也不能包含路径，默认存储目录可以通过context.getPreferencesDir()获取。
        Preferences preferences = databaseHelper.getPreferences(fileName);
        return preferences.getString(key, "");
    }
}
